0935d712d7b333ffed88cdec55c7417d02e62f94,tools/java_cup/src/java_cup/lalr_state.java,lalr_state,report_shift_reduce,#lalr_item#number#,847
Before Change
Counterexample cex = ue.find();
// TODO improve formatting
if (cex.unified()) {
System.err.println(cex.prettyExample1());
System.err.println(cex.example1());
System.err.println(cex.example2());
}
else {
System.err.println(cex.prettyExample1());
System.err.println(cex.example1());
System.err.println(cex.prettyExample2());
System.err.println(cex.example2());
}
if (Main.report_cex_stats)
System.out.println("stage4:\n"
+ (System.nanoTime() - start));
System.err.println("stage4: "
+ (System.nanoTime() - start));
}
/* end CupEx extension */
message.append(" and shift on ");
message.append(itm.to_simple_string());
message.append("\n");
/* ACM extension */
// start = System.nanoTime();
// if (Main.report_counterexamples) {
// ds.reset();
// message.append(" Example: ");
// counterexamples.report_shortest_path(this,
// itm,
// cs,
// message,
// new PrintStream(ds));
// message.append("\n Derivation: ");
// errOutput(message, ds);
// message.append("\n\n");
// }
// System.err.println(System.nanoTime() - start);
/* end ACM extension */
}
}
}
message.append(" under symbol ");
message.append(terminal.find(conflict_sym).name());
message.append("\n Resolved in favor of shifting.\n");
After Change
message.append(" and shift on ");
message.append(itm.to_simple_string());
message.append("\n");
message.append(" under symbol ");
message.append(terminal.find(conflict_sym).name());
message.append("\n");
/* CupEx extension */
if (Main.report_counterexamples) {
start = System.nanoTime();
UnifiedExample ue =
new UnifiedExample(this, red_itm, itm, cs);
Counterexample cex = ue.find();
if (cex.unified()) {
message.append(" Ambiguity detected for nonterminal ");
message.append(cex.ambNonterminal());
message.append("\n Example: ");
message.append(cex.prettyExample1());
message.append("\n Derivation using reduction: ");
message.append(cex.example1());
message.append("\n Derivation using shift : ");
message.append(cex.example2());
message.append("\n");